package com.bstek.uflo.designer.security.model;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name = "UFLO_D_NODE_ENTRY")
public class NodeEntry implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name = "ID_", length = 36)
	private String id;

	@Column(name = "NAME_", length = 36, unique = true)
	private String name;

	@Column(name = "NODE_TYPE_", length = 64)
	private String nodeType;

	@Column(name = "REMOVABLE_")
	private boolean removable;

	@Column(name = "MODIFIABLE_")
	private boolean modifiable;

	@Column(name = "PROCESS_ENTRY_ID_", length = 36, nullable = true)
	private String processEntryId;

	@Transient
	private List<NodeAttribute> nodeAttributeList;
	
	@Transient
	private boolean persistence=false;

	public NodeEntry() {
		super();
	}

	public NodeEntry(String id, String name, String nodeType) {
		super();
		this.id = id;
		this.name = name;
		this.nodeType = nodeType;
	}

	public NodeEntry(String id, String name, String nodeType, boolean removable, boolean modifiable) {
		super();
		this.id = id;
		this.name = name;
		this.nodeType = nodeType;
		this.removable = removable;
		this.modifiable = modifiable;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getNodeType() {
		return nodeType;
	}

	public void setNodeType(String nodeType) {
		this.nodeType = nodeType;
	}

	public boolean isRemovable() {
		return removable;
	}

	public void setRemovable(boolean removable) {
		this.removable = removable;
	}

	public boolean isModifiable() {
		return modifiable;
	}

	public void setModifiable(boolean modifiable) {
		this.modifiable = modifiable;
	}

	public List<NodeAttribute> getNodeAttributeList() {
		return nodeAttributeList;
	}

	public String getProcessEntryId() {
		return processEntryId;
	}

	public void setProcessEntryId(String processEntryId) {
		this.processEntryId = processEntryId;
	}

	public void setNodeAttributeList(List<NodeAttribute> nodeAttributeList) {
		this.nodeAttributeList = nodeAttributeList;
	}

	public boolean isPersistence() {
		return persistence;
	}

	public void setPersistence(boolean persistence) {
		this.persistence = persistence;
	}

}
